Synergetic automatic control system for pellet mill

ABSTRACT

An apparatus and method for automatically controlling a pellet mill. Dry material from a feeder and steam from a valve are supplied to a conditioner, in which the dry material is mixed with the steam to form a hot and moist conditioned mash. The mash is fed into a motorized die or other pellet producing means. During operation, the current load of the die motor and the temperature in the pellet mill are continuously monitored. At period intervals, the system determines whether the current is within a certain tolerance of a predetermined target value. If the current is not within tolerance, the rate of input of raw material is increased or decreased. For each such change in input of raw material, an adjustment is made to the amount of steam input. If the current is within tolerance, the system determines whether temperature of the conditoned mash is near a predetermined target value, and if not, the system adjusts the steam input. The system also monitors the effects of preceding adjustments to predict and prevent a plugged die.

BACKGROUND OF THE INVENTION

This invention relates to the manufacture of pellets, for example,pellets fed to pets and livestock. Typically, the equipment used to makesuch pellets includes a bin for containing dry pellet material, amotorized feeder, a source of moisture and heat, a motorized conditionerwhere the moisture is added to the pellett material, and a motorizedpellet producing means. This invention relates to equipment in whichmoisture and heat are supplied with steam and the pellet producing meansis a motorized die with holes from which the pellets are extruded.

The current load on the motor of the pellet producing means is a measureof the efficiency of the equipment. This load depends on at least twoimportant factors. First, the load is dependent on the rate at whichfeed mash is fed into the pellet producing means. The faster this feedrate, the greater the load, Second, the load depends on the compositionof the mash, especially its temperature and moisture content.

If these factors do not meet optimum conditions, the die motor willeither be used inefficiently if the load is too small or become pluggedif the load is too large. For example, up to a certain critical point,moisture, such as steam, acts as a lubricant for the dry material,thereby reducing the current load. Above a certain rate of input of drymaterial, however, more steam can cause the conditioned mash to thicken,causing the die to become plugged.

In addition to being important to efficiency, accurate inputs of liquidsand heat are important to ensuring good quality of pellets. For example,a certain degree of heat during pelleting ensures that the pellets willbe digestible.

Two limitations on the ability of reach optimum conditions for bothefficiency and high quality production are: current load and heatconditions inside the pellet mill are constantly changing, and theability to adjust the input of dry material and steam is constrained bythe danger of overloading the die motor.

Various methods have been developed to control the relationship duringoperation of dry feed to steam and other liquid ingredients. Until the1970's, these ingredients were controlled by operator intervention. Inthe past two decades however, automatic control systems have beendeveloped for controlling them.

One such control system, disclosed in U.S. Pat. No. 3,932,736 and itsimprovement patent, U.S. Pat. No. 4,463,430, uses temperature or steaminput as an "operating parameter". The system operator selects one ofthese parameters as a controlling parameter, which then automaticallycontrols the input of ingredients.

Another automatic controls system is disclosed in U.S. Pat. No.4,327,871. this system regulates temperature by changing the steaminput. During operation, the system senses the power consumed by the diemotor. After detecting when this power begins to rise as a result ofincreased steam input, the system then decreases the steam to a pointwhere power consumption is again at a minimum. The same ratio of steamto feed is maintained until power consumption again begins to rise.

In neither of these patents are the inputs of dry material and steaminterrelated to maintain a desired current load of the die motor andtemperature in the pellet mill. The present invention uses a constantinterplay of relationships of the current, temperature, feeder speed,and steam input. The system continually monitors the current andtemperature. At periodic intervals, the system determines whether thecurrent is within a tolerance of a predetermined desired value. If thecurrent is not in tolerance, the system adjusts the feeder speed. Foreach change in feeder speed, the system adjusts the steam input. If thecurrent is within tolerance, the system determines whether thetemperature is within tolerance, and if not, adjusts steam input. Theamount of each adjustment of feeder speed or steam input is a functionof the effect of the next preceding adjustment. The effects of precedingadjustments on the current are also used to predict whether an overloadcondition is imminent. In this manner, the system not only achieves theoptimum load conditions, but also prevents the die from becomingplugged.

OBJECTS OF THE INVENTION

One object of the invention is to operate a pellet mill with maximumefficiency. A predetermined target current load is maintained byadjusting feeder speed, such that each adjustment in feeder speed causesan adjustment in the input of steam.

Another object of the invention is to operate a pellet mill so thatpellets are made at a desired temperature. A predetermined targettemperature in the mill is maintained, such that once the current loadis within the predetermined tolerance, the temperature in the mill isadjusted by adjusting the input of steam.

Another object of the invention is relate each adjustment in drymaterial input or steam input to the effect of the preceding adjustment.In this manner, the adjustments respond to constantly changingconditions in the pellet mill.

Another object of the invention is to predict when an increasing currentload on the die motor makes a plug of the die imminent. The systemmonitors the effect of increases in dry material and steam input todetermine whether the current load on the die motor is increasing in amanner that will exceed a predetermined overload current.

Another object of the invention is to avoid a plugged die byautomatically diverting conditioned mash from the die when a plugcondition is imminent.

DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the equipment used with the system, including a schematicof the pellet mill and block diagrams of related components.

FIG. 2(A) and 2(B) are a shows the front panel of the console shown inFIG. 1.

FIG. 3 is a schematic diagram of the circuit boards contained within theconsole shown in FIG. 1.

FIG. 4 is a flowchart of the Main routine of the system software usedwith the host computer shown in FIG. 1.

FIGS. 5(A)(1) to 5(B)(2) are a flowchart of the Startup routine of thesystem software used with the host computer of FIG. 1.

FIGS. 6 (A)(1) to 6(B) are a flowchart of the Running routine of thesystem software used with the host computer of FIG. 1.

FIG. 7 is a flowchart of a plug detection code used to program theconsole shown in FIG. 1.

FIG. 8 is a flowchart of the Plugged routine of the system software usedwith the host computer of FIG. 1.

FIG. 9 is a flowchart of the Clearing routine of the system softwareused with the host computer of FIG. 1.

FIG. 10 is a flowchart of the OptrStop routine of the system softwareused with the host computer of FIG. 1.

FIG. 11 is a flowchart of the OprRqst routine of the system softwareused with the host computer of FIG. 1.

FIG. 12 is a flowchart of the DlyError routine of the system softwareused with the host computer of FIG. 1.

DETAILED DESCRIPTION

As shown in FIG. 1, the most basic components of the system are hostcomputer 100, console 110, pellet mill 200, steam valves 300 and 310,and sensing circuits 400 and 410. It's important to note that the systemshown in FIG. 1 may be part of much larger pellet manufacturing system.For example, an auxiliary liquid input system, generally designated as500, may be used to apply liquids after the pellets are made. Otherauxiliary systems may control upstream batching of raw materials intothe pellet mill, coating finished pellets, and delivery of finishedpellets to storage. Such auxiliary systems, although not shown in FIG.1, are referred to herein in general terms and are well known in theindustry.

Host computer 100 performs the system's "intelligent" operations, whichare discussed more fully below in connection with the system software.In the preferred embodiment, host computer 100 is a microcomputer,having a power supply, memory device, and a microprocessor, andinput-output device. In the preferred embodiment, the microprocessor isan integrated circuit known as the Intel 80386.

The memory of host computer 100 is a standard electronic storage devicesuch as a hard disk. This memory contains various information files. Onesuch file is a Configuration file, which stores a number of parametersthat limit operation of various components of pellet mill 200. Theseparameters, their abbreviations, and typical values are:

    ______________________________________                                        Die Motor Overload Current =                                                                         Overload                                               500.0 Amps                                                                    Die Motor Min. Load Current =                                                                        DieMinLoad                                             150.0 Amps                                                                    Die Motor Max. Idle Current =                                                                        DieMaxIdle                                             120.0 Amps                                                                    Die Motor Min. Idle Current =                                                                        DieMinIdle                                             100.0 Amps                                                                    Conditioner Motor Max. Idle Current =                                                                CondMaxIdle                                            10.0 Amps                                                                     Conditioner Motor Min. Idle Current =                                                                CondMinIdle                                            5.0 Amps                                                                      Feeder Adjustment Wait Time =                                                                        FdrWait                                                30 Seconds                                                                    Steam Adjustment Wait Time =                                                                         SteamWait                                              60 Seconds                                                                    Startup Warning Horn Delay =                                                                         HornDelay                                              5 Seconds                                                                     Mash Bin Gate Open Delay =                                                                           GateOpenDelay                                          10 Seconds                                                                    Die Motor Startup Delay =                                                                            DieDelay                                               60 Seconds                                                                    Conditioner Startup Delay =                                                                          CondDelay                                              5 Seconds                                                                     Feeder Startup Delay = FdrDelay                                               5 Seconds                                                                     Steam Turn On Delay =  SteamDelay                                             5 Seconds                                                                     Bin Vibrate Time =     VibTime                                                5 Seconds                                                                     Dump Gate Open Time =  GateTime                                               3 Seconds                                                                     Feeder Calibration =   FdrCal                                                 1.000 Pounds/Pulse                                                            Mash Flow Averaging Factor =                                                                         FlowAvg                                                High Bin Switching Delay =                                                                           HighBinDelay                                           100 Seconds                                                                   ______________________________________                                    

Another file in memory of host computer 100 is a Control file, whichcontains specific parameters for the material being pelleted. Theseparameters, their abbreviations, and typical values are:

    ______________________________________                                        Die Motor Set Point Current =                                                                         DieSet Point                                          380.0 Amps                                                                    Die Motor Operating Current Tolerance =                                                               CurrentTol                                            10%                                                                           Max. Feeder Speed Adjustment =                                                                        MaxFdrSpd                                             10.0%                                                                         Min. Feeder Speed Adjustment =                                                                        MinFdrSpd                                             1.0%                                                                          Mash Temperature Set Point =                                                                          TargetTemp                                            185.0 Deg. F.                                                                 Mash Temperature Tolerance =                                                                          TempTol                                               10.0 Deg. F.                                                                  Mash Temperature Adjustment =                                                                         TempAdj                                               4.0% Full Open                                                                Cold Fdr. Motor Start Percentage =                                                                    ColdFdr                                               15.0%                                                                         Hot Fdr. Motor Start Percentage =                                                                     HotFdr                                                20.0%                                                                         Cold Die Steam Start Percentage =                                                                     ColdSteam                                             25.0%                                                                         Hot Die Steam Start Percentage =                                                                      HotSteam                                              38.0%                                                                         Steam-to-Feeder Adjust Constant =                                                                     SteamFdrRatio                                         0.3                                                                           ______________________________________                                    

The parameters specified in the Configuration and Control files areoperator specified, and may be changed by the operator. Additionally,thereby may be more than one Control file, with the system beingdirected to a particular Control file by the operator according to thetype of pellet formula being processed. In the preferred embodiment, abatching system (not shown) tags each formula so that the system willaccess the correct Control file. The functions of the Configuration andControl file parameters are explained below in connection with thevarious system programming routines that use them.

As shown in FIG. 1, console 110 is an interface between host computer100 and pellet mill 200. Console 110 may be used with standardperipheral devices, such as video display 160, which permitscommunication of information from the system to the operator. The frontpanel of console 110 is shown in FIG. 2 and various circuit boardscontained within console 110 are shown in FIG. 3.

Front panel 120 includes a number of indicator lights and controlswitches. Mill equipment panel 121 indicates that status of oil pump243, die motor 242, conditioner motor 232, feeder motor 222, and bin210. Equipment panel 121 also permits the operator to manually controlusing toggle switches, vibrator 214, die motor 242 and oil pump 243,conditioner motor 232, feeder motor 222, steam valve 310, deflector 236,pellet mill horn (not shown), and an override that permits the operatorto control the downstream delivery system manually. A first auxiliarysystem panel 122 indicates the status and permits operator control ofat-the-die liquid inputs, crumbling equipment, and various deliverysystem equipement. Molasses input panel 123 indicates the status andpermits operator control of molasses, which is an optional pelletingredient. A second auxiliary system panel 124 indicates the status andpermits operator control of storage bins that contain dry material priorto being conveyed to bin 210, and cooling and crumbling equipment.Distribution system panel 125 indicates the status and permits operatorcontrol of the distribution system that determines where the pellets goafter being produced. Ingredient control panel 126 permits the operatorto select either automatic or manual control of input of dry material,steam, fat and molasses. If manual control is selected, the operator maycontrol the amount of input with variable potentiometers.

FIG. 3 shows the circuit boards within front panel 120. DCT board 150 isa data collection terminal board, which includes microprocessor chip151. In the preferred embodiment, microprocessor 151 is an integratedcircuit, such as standard part known as a Z80. The purpose of having aseparate microprocessor in console 110, apart from the microprocessor ofhost computer 100, is so that certain controls can be accomplishedquickly. For example, as will be explained below, when the system actsto avoid a plug, selected pellet mill devices are turned off by signalsdirectly from console 110. Although the function of these circuit boardsis explained below in connection with the system software, theirphysical structure and connections are briefly summarized in the nextthree paragraphs.

PLTIO board 152 is an input-output board that receives digitalinformation from host computer 100, via DCT board 150, and transmitson-off to various devices of pellet mill 200. Specifically, OLTIO board152 sends an enable signal for feeder motor 222 and controls steam valve300, conditioner motor 232, oil pump 242c, interlock 226, vibrator 214,deflector 236, and gate 212. PLTIO board 152 also receives informationsignals from pellet mill 200. Specifically, PLTIO board 152 receives asignal from bin 210 of pellet mill 200, indicating whether the supply ofdry material in bin 210 is low, and a signal from die motor starter242a, indicating that die motor 242 is on.

PLTANA board 154 is an input board that receives analog input fromtemperature sensing circuit 400 and current 410 and converts this inputto digital form. This information is communicated to host computer 100,via DCT board 150. Although not shown in the drawings, if othermeasurements are desired, such measurements may also be converted todigital information with PLTANA board 154.

PWM board 156 is a pulse width modulator board that receives input frompellet mill 200 that permits the rate of input of raw material intoconditioner 230 and die 246 to be calculated. Another input to PWM board156 determines the amount of liquid being input at die 246. These inputsare explained below in connection with the relevant pellet mill devices,which are pulse width modulator 221 and flow meter 604, respectively,PWM board 156 also transforms digital information from computer 100, viaDCT board 150, to analog signals used to control various the supply ofingredients into pellet mill 200. For example, if digital values rangefrom 0 to 200 and the present value is 100, PWM board 156 produces apulse that is on for one-half of a full period.

Three additional circuit boards are interfaces between PWM board 156 andpellet mill devices that require analog input. ANAVOL board 158areceives input from PWM board 156 and sends analog signals to feederdrive 224. ANAVOL board 158b receives input from PWM board 156 and sendsanalog signals to steam modulator value 310. ANAVOL board 158c receivesinput from PWM board 156 and sends analog signals to liquid input drive606.

Pellet mill 200 has a number of components, with the four most basicparts being bin 210, feeder 220, conditioner 230, and pellet producingmeans 240. Pellet mill 200 is similar to pellet mills manufactured byvarious manufacturers, and the parts described herein are typical ofthose readily available in the marker.

Bin 210 contains dry material for the pellets, which may be formulatedfrom any of a variety of formulas. Bin 210 drops the dry materialthrough gate 212 into feeder 220. Gate 212 is electronically controlled,so that it may be opened or closed by means of a signal from PLTIO board152. In the preferred embodiment, gate 212 is an air gate, controlled bya solenoid 213. Attached to bin 210 is vibrator 214, which shakes bin210 to enhance to flow of raw material to feeder 220 when the amount ofdry material in bin 210 is low.

Feeder 220 is driven by a motor 222, the speed of which is controlled bya variable speed drive 224. Input from ANAVOL board 158 controls howfast motor 222 operates. feeder 220 receives dry material from bin 210at one end, and a rotating screw (not shown) carries the dry material tothe other end of feeder 220. The speed of motor 222 is continuouslyvariable, and by changing the speed of motor 222, the supply of drymaterial through feeder can be varied in known and predictablequantities. In the preferred embodiment, an interlock 226 is used toprotect variable speed drive 224. Interlock 226 is a standard devicenormally provided as a part of pellet mill 200.

The dry material in feeder 220 is carried to a channel 228 that leadsinto conditioner 230, which also receives steam from an external source.The steam moistens and heats the dry material to form a mash. Onepurpose of the moisture is so that subsequent pelleting in pelletproducing means 240 will be easier because of the lubricating effect ofthe moisture. Moisture and heat also provides the finished pellets witha suitable consistency, binding capability, and hardness. Anotherpurpose of the heat is digestibility in the case of animal feed.

The supply of steam is controlled by two valves, shutoff valve 300 and amodulating valve 310. During normal operation of pellet mill 200,modulating valve 310 controls the amount of steam supplied to pelletmill 200. The extent to which modulating valve 310 is open or closed iscontrolled by ANAVOL board 158b. The supply of steam may be completelyshut off by means of shutoff valve 300, which is controlled PLTIO board152.

Conditioner 230 is driven by a motor 232, which is controlled by PLTIOboard 152. In the preferred embodiment, conditioner motor 232 runs at aconstant speed. From conditioner 230, the pellet mash travels down chute234 and into the pellet producing means 240. At the bottom of chute 234,deflector 236 may be opened or closed. When deflector 236 is closed, asshown in FIG. 1, the material from chute 234 is directed into die 246.However, with deflector opening means 238, deflector 236 can be openedso that the material from chute 234 bypasses die 246. In the preferredembodiment, deflector opening means 238 includes an air cylinder andsolenoid.

Pellet producing means 240, includes, in the preferred embodiment, amotor 242, gear 244, and die 246. Motor 242, during operation of thepellet mill has an instantaneous load current, DieAmps, which is relatedto its power consumption. As will be discussed below in connection withthe system software, DieAmps is a value that is continuous available tothe system software. Motor 242 is an electric motor, which has arelatively high power consumption, typically about 300 horsepower. Motor242 has a starter 242a, interlock 242b, and a oil pump starter 242c,which are standard parts of pellet mill 200. Oil pump 243 works with diemotor 242. Interlock 242b protects the system so that die motor 242 isnot started until oil pump 243 is running, and ensures safety by makingsure that certain doors and gates are closed before die motor 242 isstarted. Inside die 246, a pressing mechanism (not shown) presses thepellet material through small radial holes in the die to form worm-likeextrusions, which are cut off at appropriate lengths.

An auxiliary at-the-die liquid system 600, used with pellet mill 200, isa system for applying liquids to the extruded pellets ate die 246. Aspray nozzle 601 is used to apply at-the-die, or ATD liquids, and isconnected to a supply system by a hose, which leads to manifold 602,which is regulated by shutoff valve 603. A flow meter 604 deliversignals to PWEM board 156 so that the amount of ATD liquid flow can bemeasured and monitored by computer 100. The amount of ATD liquid inputis controlled by pump 605 and variable speed drive 606. The signals todrive 606 are provided by ANAVOL board 158c. ATD liquids are applied asa percentage of the rate of pellets being extruded from die 246, withthese calculations being made by computer 100.

Another auxiliary system, which not shown in FIG. 1, is a downstreamdelivery system that transports pellets from pellet mill 200. Thedelivery system is controlled by another program running on hostcomputer 100, apart from the pellet mill control software described withthe present invention. However, the software of this invention and thesoftware controlling the delivery system can exchange information. Forexample, the delivery control program can inform the pellet mill controlprogram whether it is controlling the delivery devices. The pellet millcontrol program can signal the delivery control program to turn offcertain devices, which is referred to below as "releasing" the deliverysystem.

As shown in FIG. 1, various sensing and measuring devices measureconditions at pellet mill 200. Via console 110, these measurements areprovided to the system software as digital information. As explainedbelow in connection with FIGS. 4 through 12, certain variable namesrefer to these measurements in digital form.

One such measurement is a "low" fill condition of bin 210. In thepreferred embodiment, sensor 216 includes an electrical switch that isclosed when the sensor is cover with pellet material. Sensor 216delivers a signal to PLTIO board 152, which delivers digital informationto host computer 100. As explained below, a "low" condition will causevibrator 214 to operate.

A second such measurement is the rate of dry material passing throughfeeder 220. This feed rate is measured by means of a pulse generator221, which detects revolutions of the inner screw of feeder 220. In thepreferred embodiment, pulse generator is attached at one end of feeder220. A disc attached to the end of the feeder screw has a series ofmagnets arranged in a circle. A magnetic switch operates as eachmagnetic passes by during rotations of the feeder screw. By countingthese rotations, which are proportional to the transported quantity offeed, the feed rate can be calculated.

A third such measurement is the temperature in conditioner 230, which issensed by a temperature sensing circuit 400. In the preferredembodiment, sensing circuit 500 has a temperature probe 400a and anamplifier 400b. An example of a suitable temperature probe is a readilyavailable device manufactured by Senso-Metrics, Inc., model PTA4L.Temperature probe 400a delivers a signal to amplifier 400b, which thendelivers the signal to PTLANA board 154. Essentially, temperaturesensing circuit 400 transforms a resistance to a voltage measurementthat can be converted to digital information by PLTANA board 154.

A fourth measurement is the current load of die motor 242, which issensed by current sensing circuit 410. Current transformer 410a, ammeter410b, and transducer 410c measure this current and deliver a value toPLTANA board 154. Essentially, current sensing circuit 410 transforms acurrent measurement to a voltage measurement that can be converted todigital information by PLTANA board 154.

FIGS. 4 through 6 and 8 through 12 are flowcharts depicting the systemsoftware for host computer 100. The program has a state programmingconstruction, which designates various routines with state identifiersand requires the program to return to a common point at designatedtimes.

FIG. 4 is a flowchart of the main control program, Main, used with hostcomputer 100. As indicated by the connector symbol, "Z", which alsoappears in FIGS. 5, 6, and 8-12, Main is called from different places fthe software. For example, every time a new state is designated, Main isexecuted. Also, as explained below Main will execute during various waittimes. Calling Main through the Z connector permits a two-second sleeptime, which allows host computer 100 to attend other systems software ifnecessary. The Z connector also ensures that timers will be serviced andthat values representing the current load and temperature in pellet mill20 will continually be available to the system software. Additionally,the presence of conditions indicating that die 246 is likely to becomeplugged is continually monitored.

Thus, the first step of Main is to update all timers used with thesystem. These timers are explained below in connection with the variousroutines that use them. With input from console 110, which has convertedthe temperature measured by temperature sensing circuit 400 into digitalform, Main obtains the mash temperature, MashTemp, at conditioner 230.Similarly, with input from console 110, which has converted the currentmeasured by current sensing circuit 410 into digital form, Main obtainsthe instantaneous current of die motor 242, DieAmps. The system alsoobtains an average value for the current load of die motor 242, AmpsAv,which is an average over the preceding 5 seconds. The calculation ofAmpsAv and the availability of AmpsAv to Main are explained below inconnection with the plug detection code shown in FIG. 7. Although notshown in the drawings, additional sensing circuits may be added, such asa circuit to obtain the current load of conditioner motor 232.

Main next calculates the feed flow rate. This is determined by pulsegenerator 221, which has delivered its input to PWM board 156. The feedflow rate is used in connection with determining the amount of liquidsto be applied by at-the-die liquid system 600.

If necessary, Main takes care of any bin switching controls that arerequested by the operator. This step is used in connection with anauxiliary delivery system after the pellets are extruded from die 246.For example, after the pellets are extruded from pellet mill 200, theymay be delivered to a selected bin. If the bin is full, the pellets canbe redirected to a different bin.

Main then compares AmpsAv to a predetermined value indicating theminimum load for which at the die liquids should be applied. Thisminimum load value, MinLoad, which is a Configuration file value. IfAmpsAv is less than MinLoad, Main assumes that there is no dry materialloading die motor 242 and turns off value 603 controlling the flow ofliquid into die 246. This step ensures that if there is no dry materialin pellet mill 200, a flow of liquid, such as fat, will not cause pelletmill 200 to become clogged.

Main then determines whether a "plugged flag" is set, which indicates animminent or existing plugged condition of pellet mill 200. The algorithmthat sets the plugged flag, PlugDetect, is explained below in connectionwith FIG. 7. If the plugged flag is set, Main detours to the pluggedroutine, which is discussed below.

The output of Main is the present state of the system software. Eachstate is associated with a program routine and is associated with astate number, i.e., state32 N00. Depending on the present state number,Main branches to the appropriate routine.

FIGS. 5a and 5b are a flowchart for the StartUp routine, or state=200.There are two occasions when StartUp executes: when a particular batchof pellets is first begun, or a "hot" start such as when the system hasshut off selected devices of pellet mill 200 to avoid a pluggedcondition. The basis function of StartUp is to turn on the variousmoving parts of pellet machine 200 in a timed sequence that allows forthe time it takes for dry material to travel from bin 210, the time ittakes for die motor 242 to reach a certain idle speed, and the time ittakes for the temperature in conditioner 230 to rise.

StartUp 200 first clears account subtotals, which are values used inconnection with inventory control. StartUp 200 then selects an addressfor nozzle 601 which applied at-the-die liquids. StartUp 200 may thenprompt auxiliary systems, such a downstream system that coats thepellets after they are extruded from die 246. In connection with suchsystems, StartUp 200 sends information such as the lot number andpercent of liquid to be used.

StartUp 200 also sends plug detection information to microprocessor 151,so that console 110 can control selected pellet mill devices to avoid aplug of die 246 or to keep a plug condition from worsening. The plugdetection information includes a current load value of die motor 242that signifies an imminent or existing plugged condition, a deviceaddress that indicates the status of the downstream delivery system, andthe addresses of devices used with pellet mill 200 that should be turnedoff in case of an imminent or existing plug. These devices includefeeder motor 222, conditioner motor 232, steam value 300, and shutoffvalve 603, or any combination of these. These devices are referred toherein as "selected devices," and the decision which devices are shutoff or turned on at various points in the pellet mill control programmay vary.

The next step of StartUp 200 is to close deflector 236 if it is open. Asdescribed above, the closing of deflector 236 is accomplished byconventional electromechanical means, such as a solenoid, with inputfrom PLTIO board 152.

StartUp 200 then sets initial conditions for selected ratios of changesin AvAmps, changes in the input of dry material, changes in the input ofsteam, and changes in MashTemp. As explained below, these changes andratios are continually calculated during the Running routine. The inputof dry material is calculated and adjusted in terms of a percentage offull capacity of feeder motor 222, or FeederPrecent. The input of steamis calculated and adjusted in terms of a percentage of a fully openedposition of valve 310, or SteamPercent, DI represents changes in AmpsAv,DF represents changes in FeederPercent, DA represent changes inSteamPercent, and DT represents changes in MashTemp.

StartUp 200 then determines whether the downstream delivery system isrunning, via an exchange of information from that system. If not,StartUp sets a state that will start the delivery system beforeproceeding to the next state.

Once the delivery system is determined to be started, and after Main isexecuted, StartUp 204 turns on a warning born, begins a timer for thehorn, ad executes Main. The horn prompts the operator to start die motor242 and announces that pellet mill 200 is starting up. The horn soundsfor a predetermined time period, HornDelay, which is a Configurationfile value.

Once the HornDelay time has elapsed, StartUp 205 turns off the horn andopens gate 212 from feeder 210. A gate open timer is set, the next stateis set, and Main is executed.

StartUp 206 determines whether gate 212 is open, and if so, the timer iskilled and StartUp 206 sets the next state. If gate 212 is not opened ina certain amount of time, an error message is sent to the operator. Thetime period for the gate open delay is a value stored in theConfiguration file as GateTime.

Once gate 212 is determined to be open, StartUp executes a number ofsteps that turn on various devices of pellet mill 200. Specifically,StartUp 207, 214, 218, and 230 start die motor 242, conditioner motor232, feeder motor 222, and values 300 and 310, respectively. Each ofthese devices is turned on via a signal from console 110, with thenature of the signal being determined by whether an on-off or variableinput is needed. For example, die motor 242 and conditioner motor 232are turned on or off with signals from PLTIO board 152, which alsodelivers an enable signal to feeder motor 222. Feeder motor 222 andsteam valve 310 are controlled by analog input from ANAVOL boards 158aand 158b. The starting of each of these mechanisms is timed with a delaytimer, which ensures that the pellet producing means 240 and conditioner230 are prepared to receive dry material and steam without becomingplugged.

Thus, after determining that mash gate 212 is open, StartUp 207 sends asignal, via PLTIO board 152 to start die motor 242. StartUp 207 thendetermines whether die motor 242 is actually running by means of a motorstarter signal to PLTIO board 152. StartUp 207 sets a timer to ensurethat die motor 242 is running within a certain amount of time, with thetime period being DieDelay, a value stored in the Configuration file. Ifdie motor 242 is running, StartUp sets the next state. On the otherhand, if die motor 242 is not running within the predetermined timeperiod, a message is sent to the operator.

Once die motor 242 is determined to be running, StartUp 213 compares DieAmps to MaxIdle, a Configuration file value that has been predeterminedto be the highest current load of die motor 242 operates without havingdry material input. If the current is too high, StartUp 213 assumes thatdie motor 242 is not yet up to speed and executes Main.

If the current is not too high, StartUp 214 delivers a signal to startconditioner motor 232, sets a timer, sets the next state, and executesMain. The value for this timer is CondDelay, another Configuration filevalue.

StartUp 215 determines whether conditioner motor 232 begins to runwithin the CondDelay period. If so, StartUp 215 sets the next state andexecutes Main. If not, StartUp sends an error message to the operator.

StartUp 218 determines whether the start is a "hot" start. As explainedbelow, the Plugged routine shown in FIG. 8 sets a hot start flag ifpellet mill 200 is to be restarted after being stopped to avert a plug.StartUp 218 then obtains the appropriate value for the initial speed offeeder motor 222, which is in terms of a percent of maximum speed offeeder motor 222. These speeds, ColdFeeder and HotFeeder, are valuesstored in the Control file. StartUp 218 then delivers a signal, viaPLTIO board 152, to enable feeder motor 222 and a signal, via ANAVOLboard 158a, to run feeder motor 222 at the appropriate speed. StartUp218 then starts a feeder running wait timer, which gives the system apredetermined amount of time in which to start feeder motor 222. Thetime period, FeederDelay is a Configuration file value.

After ensuring that feeder motor 222 is running within the prescribedtime, and sending an error message to the operator if it is not, StartUp223 begins a steam delay timer. This delay time, SteamDelay, is aConfiguration file value. The purpose of this delay time is to make surethere is pellet material in conditioner 230 before steam is introducedinto it. StartUp 223 then sets the next state and executes Main.

StartUp 225 then determines whether DieAmps, which it has obtained fromMain, is greater than MaxIdle. If so, StartUp assumes the die motor 242is receiving conditioned mash.

After DieAmps exceeds MaxIdle or after the timer has elapsed, StartUp230 obtains a value for the initial amount of SteamPercent to be inputto conditioner 230 via steam valve 310. This value is one of two valuesdepending on whether the start is hot or cold. These initial values,ColdSteam and HotSteam, are Control file values. StartUp 230 then sendsa signal to valve 310, via ANAVOL board 258b, to cause it to open to theproper position and sets a steam feeder wait timer. The wait time,FdrWait, is a Configuration file value. StartUp 230 then sets a newstate.

During the FdrWait time period, StartUp 232 makes sure that conditionsare satisfactory to continue operating pellet mill 200. If FdrWaitelapses before such conditions occur, StartUp turns off feeder motor 222and conditioner motor 232 and sets state=900 to a routine that requestsaction from the operator, OprRqst. OprRqst is described below inconnection with FIG. 12.

To determine whether conditions are satisfactory to continue operations,StartUp 232 determines whether DieAmps is less than MinLoad. If DieAmpsis less than MinLoad, StartUp 232 assumes that there is not enough feedentering die 246 to apply at-the-die liquids and executes Main. On theother hand, if DieAmps is greater than MinLoad, since DieAmps hasalready been determined to be greater than MaxIdle, StartUp 232 assumesthat conditions are satisfactory for the Running routine. In this lattersituation, StartUp delivers a signal to open valve 603 for ATD liquids,sets the next state, and executes Main.

StartUp 235 determines whether FdrWait has elapsed. If not, StartUp 235executes Main. If so, StartUp 235 assumes that conditions aresatisfactory for continuing the run and sets state=300, which will callthe Running routine.

FIGS. 6a and 6b are a flowchart of the Running routine, or state=300.The basic function of Running is to control input of dry material andsteam in two phases. The first phase adjusts dry feed input in relationto current load and steam input in relation to dry feed input; and thesecond phase adjusts steam input in relation to temperature. The phasesare loops that execute continuously, such that the current-feed controlphase keeps the current load of motor 242 within a certain tolerance,and when this current is satisfactory, the temperature-steam controlphase keeps the temperature within a certain tolerance. The devices thatare controlled are feeder motor 222 and steam valve 310. These controlsare calculated as percentages of maximum speed of feeder motor 222 and afully opened position of valve 310, and are thus referred to asFeederPercent and SteamPercent, respectively.

As shown at the top of FIG. 6a, before execution of any part of Running,a short preliminary routine checks for certain conditions. Specifically,the routine checks for an error in the delivery system downstream ofpellet mill 200, and if there is such an error, calls a routineDlyError, which is described in connection with FIG. 12. Running'spreliminary routine also determines whether DieAmps is less thanMaxIdle. If DieAmps is less than MaxIdle, which indicates that there isno dry material in pellet producing means 240, Running turns offvibrator 214 if it is on and calls OprRqst. If DieAmps is equal to orgreater than MaxIdle, Running's preliminary routine returns to theappropriate Running state.

Running 300 checks the level of dry material in bin 210, using sensor216. If the level is "low", Running 300 delivers a signal via PLTIOboard 152 to start vibrator 214. A timer is set, so that vibrator 214operates of a predetermined length of time, VibTime, a value stored inthe Configuration file.

To execute Running's current-feed control phase, if bin 210 is not lowor after vibrator 214 has operated, Running 306 determines whetherAmpsAv is within CurrentTol, a value stored in the Configuration file.As explained above, AmpsAv is made available by Main. CurrentToldesignates how close to a desire value for the current load on die motor242 is expected to operate. Both CurrentTol and the desired value,DieSetPoint, are values stored in the Control file.

If AmpsAv is not within CurrentTol, Running 308 makes certain adjustmentto the dry material and steam input. These adjustments includecalculating new values for FeederPercent and SteamPercent, which wereinitialized by computer 100 during StartUp. Specifically, Running 308first calculates a value for DeltaFeeder according to the followingformula: ##EQU1## DI/DF was initialized by StartUp, but as explainedbelow, Running 310 causes its value to continually change. The newFeederPercent is calculated from the following formula:

    FeederPercent=FeederPercent+DeltaFeeder

Running 308 then sends a signal to feeder motor 222 via console 110 thatadjusts its speed according to the new value of FeederPercent. In thismanner, the amount of pellet material that enters pellet producing means240 is adjusted as a function of the current load on die motor 242.

After adjusting the feeder speed, Running 308 calculates a new value forSteamPercent according to the following formula:

    SteamPercent=(DeltaFeeder*SteamFeederRatio)+Steam PercentOld

Steam FeederRatio is a value stored in the Control file of computer 100,which is a ratio of SteamPercent to Feeder Percent. SteamFeederRatio isa value of how much to open steam valve 310 in proportion to how muchthe speed of feeder motor 222 has been changed. This allows Running toincrease the amount of steam to provide a relatively constant anddesired amount of lubrication due to the increased amount of feed.Running 308 then sends a signal to valve 310, via console 110, thatadjusts how open valve 310 is. In this manner, the supply of steam isadjusted as a function of both the dry material input and the currentload on die motor 242.

The next step of Running 308 is to set a feeder adjustment wait timer,FdrWait, whose value is stored in the Configuration file. This timercompensates for the time lag between when adjustments are made to theinput of dry material from feeder 220 and steam valve 310 and when thoseadjustments affect the load on die motor 242. Running 308 then sets thenext state and executes Main.

After the FdrWait time elapses, Running 310 calculates new values for DIand DF according to the following formulas:

    DI=AmpsAvg-AmpsAvgOld

    DF=FeederPercent-FeederPercentOld

A new DI/DF ratio is then calculated for use by the next loop of Running308. Because there is now a new rate of pellets being extruded from die246, the ATD liqu ids are adjusted. Running 310 then returns to Running300.

Referring back to Running 306, if AmpsAv is within CurrentTol, Running306 sets state=320 and does not execute Running 308 and 310. Running 320adjusts ATD liquids and sets state=350.

Running 350 is the temperature-stem control phase of Running. Running350 determines whether the difference between the temperature atconditioner 230, MashTemp, and the desired temperature, TargetTemp, iswithin tolerance. As explained above, MashTemp is made available byMain. Both TargetTemp and the tolerance, TempTol, are values stored inthe Control file. If MashTemp is within tolerance, Running 350 returnsto Running 300.

If MashTemp is not within tolerance, Running 350 calculates DeltaSteamaccording to the following formula: ##EQU2## DT/DS was initialized byStartUp, but as explained below, Running 351 causes its value to changecontinually. Running 350 then calculates a new value for Steam Percentaccording to the following formula:

    SteamPercent=SteamPercent+DeltaSteam

Running 350 then sends a signal to steam valve 310 via console 110 thatadjusts valve 310 so that the supply of steam to conditioner 230 isadjusted. Running 350 also sets an adjustment wait timer to a value,SteamWait, stored in the Configuration file. This wait period permitsthe effects of the steam adjustment to be realized within the pelletmill 200 before the next loop of Running determines whether there is aneed for new adjustments.

After the SteamWait time has elapsed, Running 351 recalculates DT/DS asfollows:

    DT=MashTemp-OldMashTemp

    DS=SteamPercent-OldSteamPercent

running 351 then returns to Running 300.

An important feature of Running, and of the system as a whole, is theeffect that each last adjustment has on the succeeding adjustment. Thisis a result of the use of DI/DF,DT/DS, DeltaFeeder, and DeltaSteam.DI/DF is a ratio of how much the current increased for each percentincrease in the speed of feeder motor 222. Similarly, DT/DS is a ratioof how much the temperature increased for each percent increase in theclosed to open position of valve 310. The use of DeltaFeeder andDeltaSteam permit the system to adjust feeder motor 222 and steam valve310 by the amount necessary to reach the TargetCurrent and TargetTemp inaccordance with the effect of the last adjustment. For example, whenadjusting temperature, if TargetTemp=200 and MashTemp=100, the desiredincrease is 100 degrees. The system already has a value for DT/DS, forexample, 4 degrees, which indicates that the preceding adjustmentresulted in a 4 degree increase in temperature for each percent increasein the open position of valve 310. The necessary increase for the nextadjustment, which is 100 degrees, is divided by 4. The result is 25, orDeltaSteam, which tells the system that according to conditions in themill during the previous adjustment, a 25% change in the position ofvalve 310 will cause a 100-degree change in temperature. Thiscalculation of DeltaSteam and enables the system to continuallycompensate for changing conditions in the pellet mill 200 so that thesystem can accurately predict what the next adjustment should be.Similar computations enable the system to predict the effect ofadjustments to the feeder speed by determining the effect of eachprevious adjustment.

FIG. 7 is a flowchart illustrating how the system monitors the currentload of die motor 242 and detects conditions that might cause die 246 tobecome plugged. The programming shown in FIG. 7 is executed bymicroprocessor 151 in console 110, and is referred to as PlugDetect.PlugDetect executes continuously so that it can continue to monitor thecurrent load of die motor 242 and calculate an average for return tohost computer 100.

The availability of information from PlugDetect to host computer 100 isaccomplished by the use of the state structure and the continuousreturning at various points in all routines of computer 100 to Main.During Main, the system obtains a value for the current average anddetects a plugged flag if it has been set by PlugDetect.

PlugDetect is run by console 110 rather than computer 100 because of theneed for immediate control if the system detects a potential plug. Thusas explained below, PlugDetect is capable of controlling the operatingdevices of pellet mill 200, regardless of the state of the softwareexecution in computer 100. Thus, if a plug condition is anticipated byPlugDetect, console 110 reacts independently of commands from computer100. Selected devices, such as feeder motor 222, steam valve 300, andconditioner motor 232 is shut off via PLTIO board 152. Die motor 242continues to run to clear conditioned mash from pellet producing means240.

At the beginning of its execution, PlugDetect starts a timer, which inthe preferred embodiment causes a current reading of die motor 242 tooccur every 1/2 second. For each 1/2 second interval, PlugDetect thengets a value for the analog to digital conversion count of the currentload of die motor 242. This value, ADC counts, is received from PLTANAboard 154 in console 110 and represents a digital value that isproportional to an instantaneous reading of the current load of diemotor 242. The next step of PlugDetect is to determine whether thepresent value of ADC counts is greater than the ADC counts representingan overload condition of die motor 242. The overload value from whichthe overload counts are computed is Overload, a value stored in theConfiguration file. If an overload condition exists, PlugDetect opensdeflector 236 via a signal from PLTIO board 152 and delivers appropriatesignals to turn off selected devices. PlugDetect also sets a pluggedflag, which is transmitted to host computer 100 for use by the systemsoftware used by that computer, and continues to execute.

If no overload condition exists, PlugDetect calculates an average ofpresent ADC counts for ten readings, which is the same as an averageover five seconds. This value is sent to computer 100 continuously andis used as AmpsAv in several routines of the system. To predict overloadconditions, PlugDetect, sums differences between the present and lastADC counts of each instantaneous current reading for ten readings, orSumDiff. This permits the system to determine how quickly the current isincreasing or decreasing over a five second period. PlugDetect thendetermines whether the present value of ADC counts is greater than thetarget ADC counts for the current. This target ADC value is computedfrom the CurSetPoint, a value stored in computer 100. If ADC counts isequal to or less than the target current, PlugDetect returns to thebeginning of its execution.

If the present ADC value is more than the target ADC value, PlugDetectcalculates Margin, which is the difference between the present ADC valueand the overload ADC counts. PlugDetect then determines whether SumDiffis greater than Margin. Then, if SumDiff is equal to or less thanMargin, PlugDetect returns to the beginning of its execution. If SumDiffis greater than Margin, PlugDetect assumes that, based on the existingrate of increase of current load during the past five seconds, Marginwill be exceeded within five seconds and a plugged condition is likelyto soon occur. Selected devices are turned off and the plugged flag isset.

The preceding paragraphs describe one embodiment of the inventionwherein the power in pellet mill 200 is measured by measuring thecurrent load on die motor 242. This embodiment is based on an assumptionthat the voltage to die motor 242 and its power factor remain relativelyconstant. Other means for measuring power could be used, such as awattmeter. Increments of change detected by the wattmeter and processedby computer 100 would then be used in the same manner, throughout thesystem programming, as increments of change in current in theabove-described embodiment. Still other power measurements could includemeasuring motor torque and revolutions to obtain delivered horsepower.

FIG. 8 is a flowchart of the Plugged routine. Plugged is called by theexistence of a plugged flag, which is set by PlugDetect. As discussedabove, is Main detects a plugged flag, it changes the state so thatPlugged is called. The basic function of Plugged is to prepare pelletmill 200 to be restarted. The first step of every part of Plugged isstate checking routine, which determines which part of Plugged is toexecute next.

Plugged 600 resets the plugged flag and starts a timer. The purpose ofthe timer is to set a predetermined time for the open position ofdeflector 236, which was opened during the PlugDetect. This time period,GateTime, is a Configuration file value. The purpose of the GateTimeperiod, is to allow chute 234 to be emptied of conditioned mash. Plugged600 then sets a hot start flag, which as explained above in connectionwith Startup, is used during StartUp so that the system returns tomaximum efficiency quickly. Plugged 600 then sets the next state andexecutes Main.

Plugged 601 determines whether the GateTime period has elapsed. If not,Plugged executes Main. If so, Plugged sends a signal, via PLTIO board152, to close deflector 236. Plugged 603 then determines whether AmpsAv,which is available from Main, is greater than MaxIdle. If so, Plugged603 anticipates that there may still be too much feed in die 246, so itexecutes Main. If AmpsAv is less than MaxIdle, the systems assumes thatdie motor 242 is now relieved of any load as a result of conditionedmash in pellet mill 200, and that conditions are satisfactory for a hotstartup. Accordingly, Plugged sets a hot start flag, sets the nextstate, and executes Main.

Plugged 610 turns on conditioner motor 232, sets the next state, andexecutes Main. The reason for turning on conditioner motor 232 at thispoint is that conditioner 230 has been previously turned off byPlugDetect to avoid plugging die 246, but still contains pellet mash.Plugged 611 determines whether DieAmps, which is obtained from Main, isgreater than a predetermined desired running value for die motor 242.This predetermined value, TargetAmps, is a Control file value. IfDieAmps is greater than TargetAmps, the system assumes that the load ondie motor 242 is too great, and delivers a signal to turn offconditioner motor 232, and returns to Plugged 610. In this manner,Plugged 610 and Plugged 611 alternate if necessary to clear outconditioner 230 so that pellet mill 200 can be restarted withoutplugging die 246.

If conditioner motor 232 has been turned on and DieAmps is equal to orless than TargetAmps, Plugged 611 determines whether DieAmps is greaterthan MinLoad. If DieAmps is greater than MinLoad, Plugged 611 assumesthat for some reason, there is a disproportionate amount of feed in die246 and executes Main. If DieAmps is less than MinLoad, Plugged 611assumes that conditions are satisfactory to resume operation of pelletmill 200. Plugged 611 then sets state=200 and executes Main so thatStartUp will be executed.

FIG. 9 is a flowchart of the Clearing routine, which executes after arun of pellets. The basic function of Clearing is to ensure that pelletmill 200 is cleared of pellet material and that the finished pellets arebeing handled by the delivery system. After a preliminary state checkingroutine, Clearing resets the plugged flag, sets the next state, andexecutes Main.

Clearing 403 checks to determine whether the delivery system is idle byobtaining information from the delivery system. If so, Clearing 403calls Clearing 405 and executes Main. If not, Clearing 403 checks to seewhether the delivery system is clearing. If the delivery system isclearing, Clearing 403 calls Clearing 405. If the delivery system is notclearing, Clearing 403 releases the delivery system, sets the nextstate, and executes Main.

Clearing 405 rechecks to see if the delivery system is idle. Clearing405 may then be used to store various information about the run, such asfor inventory control. A warning horn is turned off if it is on, and thesystem enters the off state, or state=100.

FIG. 10 is a flowchart of the OprStop routine. The basic purpose ofOprStop is to control the system if the operator enters a stop commandat console 110. The first step of all routines within OprStop is a statechecking routine.

OprStop 500 delivers a signal to close mash bin gate 212 and starts aclearing wait timer. This timer permits pellet mill 200 to clear itselfof pellet material before shutting down. The value of the time period,FdrWait, is a Configuration file value. OprStop 500 then sets the nextstate and executes Main.

OprStop 505 determines whether the FdrWait time period has elapsed. Ifso, OprStop turns off feeder motor 222 via a signal from ANAVOL board158. If the FdrWait time period has not elapsed, or if the time periodhas elapsed and feeder motor 222 has been shut off, OprStop determineswhether DieAmps is greater than MinLoad. If so, OprStop assumes thatthere is material in pellet mill 200 still to be processed and executesMain. If DieAmps is less than MinLoad, OprStop sets the next state.

OprStop 506 turns off conditioner motor 232, steam valve 300, and theinput of at-the-die liquids from nozzle 601. OprStop 506 then closes bingate 212, sets the next state, and executes Main.

OprStop 510 determines whether die motor 242 is idle or loaded bycomparing AmpsAv to MaxIdle. If AmpsAv is greater than MaxIdle, OprStop510 assumes that there is material in pellet producing means 240 andexecutes Main. If AmpsAv is less than MaxIdle, OprStop 510 assumes thepellet mill is cleared, turns off selected devices, sets state=400, andexecutes Main so that the Clearing routine will be called.

FIG. 12 is a flowchart of the OprRqst routine. The basic purpose ofOprRqst is to control the system when input is needed from the operator.An example of such a situation is if bin 210 is empty, such as shown inFIG. 6a where Running set state=900. A state checking routine executesfirst for all routines within OprRqst.

OprRqst 900 sends a request message to the operator via console 110 anddisplay 160. OprRqst 900 then turns off selected devices that might nothave already been turned off, sets state=910, and executes Main.

OprRqst 910 waits for input by the operator from console 110, which willchange the state of the system. The operator thus determines what actionthe system will take next.

FIG. 12 is a flowchart for the routine DlyError, or state=700. The mainfunction of DlyError is control the system when there is a condition inthe auxiliary delivery system, such as a conveyor failure. The firststep of all routines within DlyError is a state check.

DlyError 700 turns off selected devices, closes deflector 236, turns onan alarm, and updates inventories. It then sets the next state andexecutes Main.

DlyError 705 determines whether the error condition still exists viainformation from the delivery system. If not, DlyError 705 turns off thealarm, sets the state to StartUp, and executes Main. If there is still adelivery system error, DlyError 705 executes Main.

The above completes the description of the preferred embodiment ofApplicant's pellet mill control system. This system and all others thatare obvious variations and equivalents of it are intended to be withinthe scope of this application. Although the invention has been describedwith reference to specific embodiments, this description is not meant tobe construed in a limiting sense. Various modifications of the disclosedembodiment, as well as alternative embodiments of the invention, maybecome apparent to persons skilled in the art who read the descriptionof the invention. It is therefore contemplated that the appended claimswill cover such modifications that fall within the true scope of theinvention.

We claim:
 1. An automatic control system for improving the run timeefficiency of a pellet mill that has a means for moistening dry pelletmaterial with moisture in the form of steam and a means for producingpellets composed of dry material and moisture, comprising:means formeasuring the temperature in said pellet mill; means for measuring thepower used by said pellet producing means; calculating means forrepeatedly receiving temperature values from said temperature measuringmeans and power values from said power measuring means, and forcalculating a current dry material input value and a current steam inputvalue, said calculating means deriving said input values from storeddata representing the effects of past adjustments to said dry materialinput and said steam input on said temperature value and said powervalue; data storage means for storing past values of said power, saiddry material input, and said steam input, for use by said calculatingmeans; interface means for converting the output of said means formeasuring temperature and the output of said means for measuring powerinto digital signals, and for converting the output of said calculatingmeans into adjustment signals; and means for adjusting said moisteningmeans and said pellet producing means based on said adjustment signals.2. The system claimed in claim 1 wherein said power measuring meansmeasures power by measuring the current load of said pellet producingmeans.
 3. The system claimed in claim 1 wherein said calculating meanscalculates said dry material input value in response to a predeterminedtarget power used by said pellet producing means.
 4. The system claimedin claim 1 wherein said calculating means repeatedly calculates a feederchange value for use in determining said dry material input value,derived from a change in said power and from said change in said drymaterial input value.
 5. The system claimed in claim 4 wherein saidcalculating means calculates said feeder change value from a ratio ofsaid change in said power to said change in said dry material inputvalue.
 6. The system claimed in claim 4 wherein said calculating meanscalculates said dry material input value and said steam input value alsobased on said feeder change value.
 7. The system claimed in claim 1wherein said calculating means repeatedly calculates a steam changevalue for use in determining said steam input value, derived from achange in said temperature and from said change in said steam inputvalue.
 8. The system claimed in claim 7 wherein said calculating meanscalculates said steam change value from a ratio of said change in saidtemperature to said change in said steam input value.
 9. The systemclaimed in claim 1 wherein said calculating means repeatedly comparessaid sampled power value with a predetermined power tolerance value andcalculates said current dry material input value only if said tolerancevalue is exceeded.
 10. The system claimed in claim 1 wherein saidcalculating means repeatedly compares said sampled temperature valuewith a predetermined temperature tolerance value and calculates saidcurrent steam input value only if said tolerance value is exceeded. 11.The system of claim 1 further comprising a timer in communication withsaid calculating means, such that said calculating means permits eachadjustment to stabilize before further adjustments are made.
 12. Anautomatic control system for controlling the inputs to a pellet millthat has a means for moistening dry pellet material with moisture in theform of steam and a means for producing pellets composed of dry materialand moisture, comprising:means for measuring the temperature in saidpellet mill; means for measuring the power used by said pellet producingmeans; data storage means for storing past values of said inputs, saidtemperature, and said power; first calculating means for periodicallyreceiving power values from said power measuring means, and forcalculating a dry material input change value derived from a ratio of achange in said power to a change in said dry material input value, andfor using said dry material input change value to calculate a currentdry material input value; second calculating means for periodicallyreceiving temperature values from said temperature measuring means, andfor calculating a steam input change value derived from a ratio of achange in said temperature to a change in said steam input value, andfor using said steam input value to calculate a current steam inputvalue; and means for adjusting said pellet producing means and saidmoistening means based on said dry material input change value and saidsteam input change value.
 13. The system claimed in claim 12 whereinsaid power measuring means measures power by measuring the current loadof said pellet producing means.
 14. The system claimed in claim 12 andfurther comprising a timer in communication with said first calculatingmeans, such that said calculating means permits a prior adjustment tostabilize.
 15. The system claimed in claim 12 wherein said data storagemeans further stores a predetermined tolerance value for said power, andfurther comprising a third calculating means for comparing a currentpower measurement with said tolerance value.
 16. The system claimed inclaim 12 wherein said data storage means further stores a predeterminedtolerance value for said temperature and further comprising a thirdcalculating means for comparing a current temperature measurement withsaid tolerance value.
 17. The system claimed in claim 12 wherein saidcurrent input value is the sum of a preceding input value and saidchange value.
 18. An automatic control system for preventing plugging ofa pellet mill that has a means for moistening dry pellet material withmoisture in the form of steam and has a means for producing pelletscomposed of dry material and moisture in the form of steam,comprising:means for measuring the power used by said pellet producingmeans; calculating means for continually receiving power values fromsaid power measuring means and for calculating a plug indication valuethat indicates that said pellet producing means is likely to becomeplugged, wherein said plug indication value is based on said powervalues, and wherein, using said power measurements, said calculatingmeans calculates the change in said power during a past time interval,calculates a margin, and compares said change to said margin; interfacemeans for providing an interface between said pellet mill and saidcalculating means, wherein said interface means converts the output ofsaid means for measuring power into digital signals, and converts theoutput of said calculating means into adjustment signals in response tosaid plug indication value; and means for interrupting said supply ofpellet material to said pellet producing means and for shutting off saidsteam supply, based on said adjustment signals.
 19. The system claimedin claim 18, wherein said calculating means repeatedly compares acurrent sampled power value to a predetermined target value and performssaid margin comparison only if said current power value exceeds saidtarget value.
 20. The system claimed in claim 18 wherein saidcalculating means calculates said margin in response to the differencebetween a current power value and a predetermined overload value.
 21. Amethod for automatically controlling a pellet mill that has a means formoistening dry pellet material with moisture in the form of stem and ameans for producing pellets composed of dry material and moisture,comprising the steps of:periodically measuring the temperature in saidpellet mill; periodically measuring the power used by said pelletproducing means; determining the effects of past adjustments to drymaterial input and steam input on said temperature and said power;calculating a current dry material input value and a current steam inputvalue, wherein said input values are based on the results of said stepof determining effects of past adjustments; and adjusting said drymaterial input and said steam input in response to said input values.22. The method claimed in claim 21 wherein said power measuring stepincludes measuring the current load of said pellet producing means. 23.The method claimed in claim 21 wherein said dry material calculatingstep includes limiting said calculation with a predetermined targetpower in said pellet producing means.
 24. The method claimed in claim 21wherein said step of determining effects of past adjustments includestiming the occurrence of adjustments so that said past adjustments beginto stabilize.
 25. The method claimed in claim 21 wherein said step ofdetermining the effect of past adjustments in said dry material inputcomprises obtaining a ratio of a change in said power to a change insaid dry material input.
 26. The method claimed in claim 21 wherein saidstep of determining the effect of past adjustments to said steam inputcomprises obtaining a ratio of a change in said temperature to a changein said steam input.
 27. The method claimed in claim 21 and furthercomprising the step of comparing said measured power value to apredetermined tolerance value.
 28. The method claimed in claim 27wherein said step of calculating a current dry material input value isperformed prior to the calculation of said steam input value and saidsteam input is adjusted only when said power is within tolerance. 29.The method claimed in claim 21 and further comprising the step ofcomparing said measured temperature value to a predetermined tolerancevalue.
 30. A method for preventing plugging of a pellet mill that has ameans for moistening dry pellet material with moisture in the form ofsteam and has a means for producing pellets composed of dry material andmoisture in the form of steam, comprising the steps of:obtaining a datastream of values representing the power used by said pellet producingmeans; calculating a change in said power use during a past timeinterval; comparing said change in said power to a margin based on thedifference between a current power measurement and a predeterminedoverload value; generating a signal to said pellet mill when said changeexceeds said margin; and interrupting said supply of pellet material tosaid pellet producing means in response to said signal generating.